#ifndef NEWSTACK_H
#define NEWSTACK_H

struct Stack
{
    double* Value; //< array of Values that stack contains*/
    long Counter; //< counter of elements that stack contains*/
    long Maximal_Size; //< maximum size of stack*/
};


//<Commands for stack
int Stack_Push(struct Stack* Stack_Itself, double Put_In_The_Data);
double Stack_Pop(struct Stack* Stack_Itself);
int Stack_Create(struct Stack* Stack_Itself, long Maximal_Size);
int Stack_Destruct(struct Stack* Stack_Itself);
int Stack_Dump(struct Stack* Stack_Itself);
//<Commands to check the stack
int Stack_Is_Fine(struct Stack* Stack_Itself);
int Stack_Init_Error(char* Init_Message);
int Stack_Error_Number = 0;
enum {Stack_Fine = 0, No_Stack = 1, Stack_Overflow = 2, Stack_Underflow = 3, No_Value = 4};

#endif // NEWSTACK_H
